using System;
using System.Collections.Generic;
using DMS.BEs;

namespace ObjectFactories {
	public class ArtistFactory {

		private readonly Artist[] items = new Artist[276];
		private static ArtistFactory instance;

		private ArtistFactory() {
			items[1] = new Artist {Name = "AC/DC"};
			items[2] = new Artist {Name = "Accept"};
			items[3] = new Artist {Name = "Aerosmith"};
			items[4] = new Artist {Name = "Alanis Morissette"};
			items[5] = new Artist {Name = "Alice In Chains"};
			items[6] = new Artist {Name = "Antônio Carlos Jobim"};
			items[7] = new Artist {Name = "Apocalyptica"};
			items[8] = new Artist {Name = "Audioslave"};
			items[9] = new Artist {Name = "BackBeat"};
			items[10] = new Artist {Name = "Billy Cobham"};
			items[11] = new Artist {Name = "Black Label Society"};
			items[12] = new Artist {Name = "Black Sabbath"};
			items[13] = new Artist {Name = "Body Count"};
			items[14] = new Artist {Name = "Bruce Dickinson"};
			items[15] = new Artist {Name = "Buddy Guy"};
			items[16] = new Artist {Name = "Caetano Veloso"};
			items[17] = new Artist {Name = "Chico Buarque"};
			items[18] = new Artist {Name = "Chico Science & Nação Zumbi"};
			items[19] = new Artist {Name = "Cidade Negra"};
			items[20] = new Artist {Name = "Cláudio Zoli"};
			items[21] = new Artist {Name = "Various Artists"};
			items[22] = new Artist {Name = "Led Zeppelin"};
			items[23] = new Artist {Name = "Frank Zappa & Captain Beefheart"};
			items[24] = new Artist {Name = "Marcos Valle"};
			items[25] = new Artist {Name = "Milton Nascimento & Bebeto"};
			items[26] = new Artist {Name = "Azymuth"};
			items[27] = new Artist {Name = "Gilberto Gil"};
			items[28] = new Artist {Name = "João Gilberto"};
			items[29] = new Artist {Name = "Bebel Gilberto"};
			items[30] = new Artist {Name = "Jorge Vercilo"};
			items[31] = new Artist {Name = "Baby Consuelo"};
			items[32] = new Artist {Name = "Ney Matogrosso"};
			items[33] = new Artist {Name = "Luiz Melodia"};
			items[34] = new Artist {Name = "Nando Reis"};
			items[35] = new Artist {Name = "Pedro Luís & A Parede"};
			items[36] = new Artist {Name = "O Rappa"};
			items[37] = new Artist {Name = "Ed Motta"};
			items[38] = new Artist {Name = "Banda Black Rio"};
			items[39] = new Artist {Name = "Fernanda Porto"};
			items[40] = new Artist {Name = "Os Cariocas"};
			items[41] = new Artist {Name = "Elis Regina"};
			items[42] = new Artist {Name = "Milton Nascimento"};
			items[43] = new Artist {Name = "A Cor Do Som"};
			items[44] = new Artist {Name = "Kid Abelha"};
			items[45] = new Artist {Name = "Sandra De Sá"};
			items[46] = new Artist {Name = "Jorge Ben"};
			items[47] = new Artist {Name = "Hermeto Pascoal"};
			items[48] = new Artist {Name = "Barão Vermelho"};
			items[49] = new Artist {Name = "Edson, DJ Marky & DJ Patife Featuring Fernanda Porto"};
			items[50] = new Artist {Name = "Metallica"};
			items[51] = new Artist {Name = "Queen"};
			items[52] = new Artist {Name = "Kiss"};
			items[53] = new Artist {Name = "Spyro Gyra"};
			items[54] = new Artist {Name = "Green Day"};
			items[55] = new Artist {Name = "David Coverdale"};
			items[56] = new Artist {Name = "Gonzaguinha"};
			items[57] = new Artist {Name = "Os Mutantes"};
			items[58] = new Artist {Name = "Deep Purple"};
			items[59] = new Artist {Name = "Santana"};
			items[60] = new Artist {Name = "Santana Feat. Dave Matthews"};
			items[61] = new Artist {Name = "Santana Feat. Everlast"};
			items[62] = new Artist {Name = "Santana Feat. Rob Thomas"};
			items[63] = new Artist {Name = "Santana Feat. Lauryn Hill & Cee-Lo"};
			items[64] = new Artist {Name = "Santana Feat. The Project G&B"};
			items[65] = new Artist {Name = "Santana Feat. Maná"};
			items[66] = new Artist {Name = "Santana Feat. Eagle-Eye Cherry"};
			items[67] = new Artist {Name = "Santana Feat. Eric Clapton"};
			items[68] = new Artist {Name = "Miles Davis"};
			items[69] = new Artist {Name = "Gene Krupa"};
			items[70] = new Artist {Name = "Toquinho & Vinícius"};
			items[71] = new Artist {Name = "Vinícius De Moraes & Baden Powell"};
			items[72] = new Artist {Name = "Vinícius De Moraes"};
			items[73] = new Artist {Name = "Vinícius E Qurteto Em Cy"};
			items[74] = new Artist {Name = "Vinícius E Odette Lara"};
			items[75] = new Artist {Name = "Vinicius, Toquinho & Quarteto Em Cy"};
			items[76] = new Artist {Name = "Creedence Clearwater Revival"};
			items[77] = new Artist {Name = "Cássia Eller"};
			items[78] = new Artist {Name = "Def Leppard"};
			items[79] = new Artist {Name = "Dennis Chambers"};
			items[80] = new Artist {Name = "Djavan"};
			items[81] = new Artist {Name = "Eric Clapton"};
			items[82] = new Artist {Name = "Faith No More"};
			items[83] = new Artist {Name = "Falamansa"};
			items[84] = new Artist {Name = "Foo Fighters"};
			items[85] = new Artist {Name = "Frank Sinatra"};
			items[86] = new Artist {Name = "Funk Como Le Gusta"};
			items[87] = new Artist {Name = "Godsmack"};
			items[88] = new Artist {Name = "Guns N' Roses"};
			items[89] = new Artist {Name = "Incognito"};
			items[90] = new Artist {Name = "Iron Maiden"};
			items[91] = new Artist {Name = "James Brown"};
			items[92] = new Artist {Name = "Jamiroquai"};
			items[93] = new Artist {Name = "JET"};
			items[94] = new Artist {Name = "Jimi Hendrix"};
			items[95] = new Artist {Name = "Joe Satriani"};
			items[96] = new Artist {Name = "Jota Quest"};
			items[97] = new Artist {Name = "João Suplicy"};
			items[98] = new Artist {Name = "Judas Priest"};
			items[99] = new Artist {Name = "Legião Urbana"};
			items[100] = new Artist {Name = "Lenny Kravitz"};
			items[101] = new Artist {Name = "Lulu Santos"};
			items[102] = new Artist {Name = "Marillion"};
			items[103] = new Artist {Name = "Marisa Monte"};
			items[104] = new Artist {Name = "Marvin Gaye"};
			items[105] = new Artist {Name = "Men At Work"};
			items[106] = new Artist {Name = "Motörhead"};
			items[107] = new Artist {Name = "Motörhead & Girlschool"};
			items[108] = new Artist {Name = "Mônica Marianno"};
			items[109] = new Artist {Name = "Mötley Crüe"};
			items[110] = new Artist {Name = "Nirvana"};
			items[111] = new Artist {Name = "O Terço"};
			items[112] = new Artist {Name = "Olodum"};
			items[113] = new Artist {Name = "Os Paralamas Do Sucesso"};
			items[114] = new Artist {Name = "Ozzy Osbourne"};
			items[115] = new Artist {Name = "Page & Plant"};
			items[116] = new Artist {Name = "Passengers"};
			items[117] = new Artist {Name = "Paul D'Ianno"};
			items[118] = new Artist {Name = "Pearl Jam"};
			items[119] = new Artist {Name = "Peter Tosh"};
			items[120] = new Artist {Name = "Pink Floyd"};
			items[121] = new Artist {Name = "Planet Hemp"};
			items[122] = new Artist {Name = "R.E.M. Feat. Kate Pearson"};
			items[123] = new Artist {Name = "R.E.M. Feat. KRS-One"};
			items[124] = new Artist {Name = "R.E.M."};
			items[125] = new Artist {Name = "Raimundos"};
			items[126] = new Artist {Name = "Raul Seixas"};
			items[127] = new Artist {Name = "Red Hot Chili Peppers"};
			items[128] = new Artist {Name = "Rush"};
			items[129] = new Artist {Name = "Simply Red"};
			items[130] = new Artist {Name = "Skank"};
			items[131] = new Artist {Name = "Smashing Pumpkins"};
			items[132] = new Artist {Name = "Soundgarden"};
			items[133] = new Artist {Name = "Stevie Ray Vaughan & Double Trouble"};
			items[134] = new Artist {Name = "Stone Temple Pilots"};
			items[135] = new Artist {Name = "System Of A Down"};
			items[136] = new Artist {Name = "Terry Bozzio, Tony Levin & Steve Stevens"};
			items[137] = new Artist {Name = "The Black Crowes"};
			items[138] = new Artist {Name = "The Clash"};
			items[139] = new Artist {Name = "The Cult"};
			items[140] = new Artist {Name = "The Doors"};
			items[141] = new Artist {Name = "The Police"};
			items[142] = new Artist {Name = "The Rolling Stones"};
			items[143] = new Artist {Name = "The Tea Party"};
			items[144] = new Artist {Name = "The Who"};
			items[145] = new Artist {Name = "Tim Maia"};
			items[146] = new Artist {Name = "Titãs"};
			items[147] = new Artist {Name = "Battlestar Galactica"};
			items[148] = new Artist {Name = "Heroes"};
			items[149] = new Artist {Name = "Lost"};
			items[150] = new Artist {Name = "U2"};
			items[151] = new Artist {Name = "UB40"};
			items[152] = new Artist {Name = "Van Halen"};
			items[153] = new Artist {Name = "Velvet Revolver"};
			items[154] = new Artist {Name = "Whitesnake"};
			items[155] = new Artist {Name = "Zeca Pagodinho"};
			items[156] = new Artist {Name = "The Office"};
			items[157] = new Artist {Name = "Dread Zeppelin"};
			items[158] = new Artist {Name = "Battlestar Galactica (Classic)"};
			items[159] = new Artist {Name = "Aquaman"};
			items[160] = new Artist {Name = "Christina Aguilera featuring BigElf"};
			items[161] = new Artist {Name = "Aerosmith & Sierra Leone's Refugee Allstars"};
			items[162] = new Artist {Name = "Los Lonely Boys"};
			items[163] = new Artist {Name = "Corinne Bailey Rae"};
			items[164] = new Artist {Name = "Dhani Harrison & Jakob Dylan"};
			items[165] = new Artist {Name = "Jackson Browne"};
			items[166] = new Artist {Name = "Avril Lavigne"};
			items[167] = new Artist {Name = "Big & Rich"};
			items[168] = new Artist {Name = "Youssou N'Dour"};
			items[169] = new Artist {Name = "Black Eyed Peas"};
			items[170] = new Artist {Name = "Jack Johnson"};
			items[171] = new Artist {Name = "Ben Harper"};
			items[172] = new Artist {Name = "Snow Patrol"};
			items[173] = new Artist {Name = "Matisyahu"};
			items[174] = new Artist {Name = "The Postal Service"};
			items[175] = new Artist {Name = "Jaguares"};
			items[176] = new Artist {Name = "The Flaming Lips"};
			items[177] = new Artist {Name = "Jack's Mannequin & Mick Fleetwood"};
			items[178] = new Artist {Name = "Regina Spektor"};
			items[179] = new Artist {Name = "Scorpions"};
			items[180] = new Artist {Name = "House Of Pain"};
			items[181] = new Artist {Name = "Xis"};
			items[182] = new Artist {Name = "Nega Gizza"};
			items[183] = new Artist {Name = "Gustavo & Andres Veiga & Salazar"};
			items[184] = new Artist {Name = "Rodox"};
			items[185] = new Artist {Name = "Charlie Brown Jr."};
			items[186] = new Artist {Name = "Pedro Luís E A Parede"};
			items[187] = new Artist {Name = "Los Hermanos"};
			items[188] = new Artist {Name = "Mundo Livre S/A"};
			items[189] = new Artist {Name = "Otto"};
			items[190] = new Artist {Name = "Instituto"};
			items[191] = new Artist {Name = "Nação Zumbi"};
			items[192] = new Artist {Name = "DJ Dolores & Orchestra Santa Massa"};
			items[193] = new Artist {Name = "Seu Jorge"};
			items[194] = new Artist {Name = "Sabotage E Instituto"};
			items[195] = new Artist {Name = "Stereo Maracana"};
			items[196] = new Artist {Name = "Cake"};
			items[197] = new Artist {Name = "Aisha Duo"};
			items[198] = new Artist {Name = "Habib Koité and Bamada"};
			items[199] = new Artist {Name = "Karsh Kale"};
			items[200] = new Artist {Name = "The Posies"};
			items[201] = new Artist {Name = "Luciana Souza/Romero Lubambo"};
			items[202] = new Artist {Name = "Aaron Goldberg"};
			items[203] = new Artist {Name = "Nicolaus Esterhazy Sinfonia"};
			items[204] = new Artist {Name = "Temple of the Dog"};
			items[205] = new Artist {Name = "Chris Cornell"};
			items[206] = new Artist {Name = "Alberto Turco & Nova Schola Gregoriana"};
			items[207] = new Artist {Name = "Richard Marlow & The Choir of Trinity College, Cambridge"};
			items[208] = new Artist {Name = "English Concert & Trevor Pinnock"};
			items[209] = new Artist {Name = "Anne-Sophie Mutter, Herbert Von Karajan & Wiener Philharmoniker"};
			items[210] = new Artist {Name = "Hilary Hahn, Jeffrey Kahane, Los Angeles Chamber Orchestra & Margaret Batjer"};
			items[211] = new Artist {Name = "Wilhelm Kempff"};
			items[212] = new Artist {Name = "Yo-Yo Ma"};
			items[213] = new Artist {Name = "Scholars Baroque Ensemble"};
			items[214] = new Artist {Name = "Academy of St. Martin in the Fields & Sir Neville Marriner"};
			items[215] = new Artist {Name = "Academy of St. Martin in the Fields Chamber Ensemble & Sir Neville Marriner"};
			items[216] = new Artist {Name = "Berliner Philharmoniker, Claudio Abbado & Sabine Meyer"};
			items[217] = new Artist {Name = "Royal Philharmonic Orchestra & Sir Thomas Beecham"};
			items[218] = new Artist {Name = "Orchestre Révolutionnaire et Romantique & John Eliot Gardiner"};
			items[219] = new Artist {Name = "Britten Sinfonia, Ivor Bolton & Lesley Garrett"};
			items[220] = new Artist {Name = "Chicago Symphony Chorus, Chicago Symphony Orchestra & Sir Georg Solti"};
			items[221] = new Artist {Name = "Sir Georg Solti & Wiener Philharmoniker"};
			items[222] = new Artist {Name = "Academy of St. Martin in the Fields, John Birch, Sir Neville Marriner & Sylvia McNair"};
			items[223] = new Artist {Name = "London Symphony Orchestra & Sir Charles Mackerras"};
			items[224] = new Artist {Name = "Barry Wordsworth & BBC Concert Orchestra"};
			items[225] = new Artist {Name = "Herbert Von Karajan, Mirella Freni & Wiener Philharmoniker"};
			items[226] = new Artist {Name = "Eugene Ormandy"};
			items[227] = new Artist {Name = "Luciano Pavarotti"};
			items[228] = new Artist {Name = "Leonard Bernstein & New York Philharmonic"};
			items[229] = new Artist {Name = "Boston Symphony Orchestra & Seiji Ozawa"};
			items[230] = new Artist {Name = "Aaron Copland & London Symphony Orchestra"};
			items[231] = new Artist {Name = "Ton Koopman"};
			items[232] = new Artist {Name = "Sergei Prokofiev & Yuri Temirkanov"};
			items[233] = new Artist {Name = "Chicago Symphony Orchestra & Fritz Reiner"};
			items[234] = new Artist {Name = "Orchestra of The Age of Enlightenment"};
			items[235] = new Artist {Name = "Emanuel Ax, Eugene Ormandy & Philadelphia Orchestra"};
			items[236] = new Artist {Name = "James Levine"};
			items[237] = new Artist {Name = "Berliner Philharmoniker & Hans Rosbaud"};
			items[238] = new Artist {Name = "Maurizio Pollini"};
			items[239] = new Artist {Name = "Academy of St. Martin in the Fields, Sir Neville Marriner & William Bennett"};
			items[240] = new Artist {Name = "Gustav Mahler"};
			items[241] = new Artist {Name = "Felix Schmidt, London Symphony Orchestra & Rafael Frühbeck de Burgos"};
			items[242] = new Artist {Name = "Edo de Waart & San Francisco Symphony"};
			items[243] = new Artist {Name = "Antal Doráti & London Symphony Orchestra"};
			items[244] = new Artist {Name = "Choir Of Westminster Abbey & Simon Preston"};
			items[245] = new Artist {Name = "Michael Tilson Thomas & San Francisco Symphony"};
			items[246] = new Artist {Name = "Chor der Wiener Staatsoper, Herbert Von Karajan & Wiener Philharmoniker"};
			items[247] = new Artist {Name = "The King's Singers"};
			items[248] = new Artist {Name = "Berliner Philharmoniker & Herbert Von Karajan"};
			items[249] = new Artist {Name = "Sir Georg Solti, Sumi Jo & Wiener Philharmoniker"};
			items[250] = new Artist {Name = "Christopher O'Riley"};
			items[251] = new Artist {Name = "Fretwork"};
			items[252] = new Artist {Name = "Amy Winehouse"};
			items[253] = new Artist {Name = "Calexico"};
			items[254] = new Artist {Name = "Otto Klemperer & Philharmonia Orchestra"};
			items[255] = new Artist {Name = "Yehudi Menuhin"};
			items[256] = new Artist {Name = "Philharmonia Orchestra & Sir Neville Marriner"};
			items[257] = new Artist {Name = "Academy of St. Martin in the Fields, Sir Neville Marriner & Thurston Dart"};
			items[258] = new Artist {Name = "Les Arts Florissants & William Christie"};
			items[259] = new Artist {Name = "The 12 Cellists of The Berlin Philharmonic"};
			items[260] = new Artist {Name = "Adrian Leaper & Doreen de Feis"};
			items[261] = new Artist {Name = "Roger Norrington, London Classical Players"};
			items[262] = new Artist {Name = "Charles Dutoit & L'Orchestre Symphonique de Montréal"};
			items[263] = new Artist {Name = "Equale Brass Ensemble, John Eliot Gardiner & Munich Monteverdi Orchestra and Choir"};
			items[264] = new Artist {Name = "Kent Nagano and Orchestre de l'Opéra de Lyon"};
			items[265] = new Artist {Name = "Julian Bream"};
			items[266] = new Artist {Name = "Martin Roscoe"};
			items[267] = new Artist {Name = "Göteborgs Symfoniker & Neeme Järvi"};
			items[268] = new Artist {Name = "Itzhak Perlman"};
			items[269] = new Artist {Name = "Michele Campanella"};
			items[270] = new Artist {Name = "Gerald Moore"};
			items[271] = new Artist {Name = "Mela Tenenbaum, Pro Musica Prague & Richard Kapp"};
			items[272] = new Artist {Name = "Emerson String Quartet"};
			items[273] = new Artist {Name = "C. Monteverdi, Nigel Rogers - Chiaroscuro; London Baroque; London Cornett & Sackbu"};
			items[274] = new Artist {Name = "Nash Ensemble"};
			items[275] = new Artist {Name = "Philip Glass Ensemble"};
		}

		static public void Reset() {
			instance=null;
		}

		static public ArtistFactory GetInstance() {
			if (instance==null) instance = new ArtistFactory();
		return instance;
		}

		static public IList<Artist> GetAll() {
			return GetInstance().items;
		}

		static public Artist GetByOriginalId(int? id)
		{
			return id.HasValue ? GetInstance().items[id.Value] : null;
		}
	}
}
